home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
lib.exe
/
SETVALUE.LIB
< prev
next >
Wrap
Text File
|
1992-02-02
|
2KB
|
161 lines
#IF !LIB4A86
#ELSE
#IF !INTERN_LIB4A86_S
INTERN_LIB4A86_S EQU 01
JMP START
#ENDIF
#ENDIF
PADDINGBYTE DB ' '
KONVERT_DXAX_TO_BINSTRING:
PUSH AX
MOV AX,DX
CALL KONVERT_AX_TO_BINSTRING
POP AX
KONVERT_AX_TO_BINSTRING:
PUSH AX
MOV AL,AH
CALL KONVERT_AL_TO_BINSTRING
POP AX
KONVERT_AL_TO_BINSTRING:
CLD
PUSH BX
PUSH CX
CLD
MOV CX,8
MOV BX,'0' BY '1'
MOV AH,AL
L0:
MOV AL,BL
SHL AH,1
IF NC MOV AL,BH
STOSB
LOOP L0
POP CX
POP BX
RET
KONVERT_DXAX_TO_HEXSTRING:
PUSH AX
MOV AX,DX
CALL KONVERT_AX_TO_HEXSTRING
POP AX
KONVERT_AX_TO_HEXSTRING:
PUSH AX
MOV AL,AH
CALL KONVERT_AL_TO_HEXSTRING
POP AX
KONVERT_AL_TO_HEXSTRING:
CLD
MOV AH,AL
AND AH,0F0H
SHR AH,1
SHR AH,1
SHR AH,1
SHR AH,1
CMP AH,9
JG >L1
ADD AH,'0'
JMP >L2
L1:
ADD AH,'7'
L2:
AND AL,00FH
CMP AL,9
JG >L1
ADD AL,'0'
JMP >L2
L1:
ADD AL,'7'
L2:
XCHG AH,AL
STOSW
RET
D0 DW 100XD, 10XD, 0
KONVERT_AL_TO_DEZSTRING:
PUSH SI
MOV SI,OFFSET D0
JMP INTERN_KONVERTAL
D1 DW 10000XD, 1000XD, 100XD, 10XD, 0
KONVERT_AX_TO_DEZSTRING:
PUSH SI
MOV SI,OFFSET D1
JMP INTERN_KONVERTAX
D2 DW 64XD, 8XD, 0XD
KONVERT_AL_TO_OCTSTRING:
PUSH SI
MOV SI,OFFSET D2
JMP INTERN_KONVERTAL
D4 DW 32768XD, 4096XD, 512XD, 64XD, 8XD, 0
KONVERT_AX_TO_OCTSTRING:
PUSH SI
MOV SI,OFFSET D4
JMP INTERN_KONVERTAX
POP SI
RET
INTERN_KONVERTAL:
XOR AH,AH
INTERN_KONVERTAX:
PUSH CX
PUSH DX
PUSH BX
CLD
XOR BH,BH
XOR DX,DX
L0:
MOV CX,CS:[SI]
OR CX,CX
JZ >L2
DIV CX
ADD AL,'0'
OR BH,BH
JNZ >L1
CMP AL,'0'
JNE >L10
MOV AL,CS:PADDINGBYTE
JMP >L1
L10:
INC BH
L1:
STOSB
MOV AX,DX
XOR DX,DX
INC SI,2
JMP L0
L2:
ADD AL,'0'
STOSB
POP BX
POP DX
POP CX
POP SI
RET
#IF !INTERN_CMARK0
INTERN_CMARK0 EQU 01H
INTERN_CMARK1:
PUSH BP
MOV BP,SP
MOV BX,06H
SUB CH,[BP+SI]
SUB AH,[BX+SI]
DEC SP
DEC CX
INC DX
XOR AL,041H
CMP B[02820H],DH
INC BX
SUB W[BX+SI],SP
INC DX
CS AND B[BP+DI+043H],DL
DEC AX
INC BP
DEC BP
DEC BP
INC BP
PUSH DX
AND B[BP+SI],CH
SUB CH,[BP+SI]
POP DX
MOV SP,BP
POP BP
RET
#ENDIF